//时间戳格式化
export function formatTime(ms: number): string {
    const totalSeconds = Math.floor(ms / 1000); // 将毫秒转换为秒
    const minutes = Math.floor(totalSeconds / 60); // 计算分钟数
    const seconds = totalSeconds % 60; // 计算剩余的秒数

    // 使用 padStart 方法确保分钟和秒数都是两位数
    const formattedMinutes = minutes.toString().padStart(2, "0");
    const formattedSeconds = seconds.toString().padStart(2, "0");

    return `${formattedMinutes}:${formattedSeconds}`;
}

/**
 * 将秒数转换为 MM:SS 格式的时间字符串。
 *
 * @param {number} seconds - 要转换的秒数，可以是整数或浮点数。
 * @returns {string} 转换后的时间字符串，格式为 MM:SS，例如 "00:23"。
 *
 * @example
 * const formattedTime = convertSecondsToMMSS(22.932199);
 * console.log(formattedTime); // 输出：00:23
 *
 * @note
 * - 如果输入的秒数小于 0，函数将返回 "00:00"。
 * - 秒数的小数部分会被四舍五入到最接近的整数。
 */
export function convertSecondsToMMSS(seconds: number): string {
    if (isNaN(seconds)) {
        return "00:00"
    }
    const minutes = Math.floor(seconds / 60); // 计算分钟数
    const remainingSeconds = Math.floor(seconds % 60); // 计算剩余秒数
    // 将分钟和秒数格式化为两位数
    const formattedMinutes = String(minutes).padStart(2, '0');
    const formattedSeconds = String(remainingSeconds).padStart(2, '0');
    return `${formattedMinutes}:${formattedSeconds}`;
}

// new Date() 格式化
export function formatDate(date: Date): string {
    const year = date.getFullYear();
    const month = String(date.getMonth() + 1).padStart(2, '0'); // 月份从 0 开始，需要加 1
    const day = String(date.getDate()).padStart(2, '0');
    const hours = String(date.getHours()).padStart(2, '0');
    const minutes = String(date.getMinutes()).padStart(2, '0');

    return `${year}-${month}-${day} ${hours}:${minutes}`;
}

